package com.skiving.cloud.admin.service;

import com.mybatisflex.core.paginate.Page;
import com.skiving.cloud.admin.entity.SysTenant;
import com.skiving.cloud.common.utils.PageParameter;
import com.mybatisflex.core.service.IService;
import com.skiving.cloud.admin.entity.SysTenantMenu;

import java.util.List;

/**
 * 租户资源菜单范围 服务层。
 *
 * @author skivingcloud
 * @since 2025-03-08
 */
public interface SysTenantMenuService extends IService<SysTenantMenu> {
    /**
     * 分页查询租户资源菜单范围
     *
     * @param parameter 查询参数
     * @return 分页查询结果
     */
    Page<SysTenantMenu> queryByPage(PageParameter<SysTenantMenu> parameter);

    /**
     * 根据租户id查询租户的菜单权限范围
     *
     * @param tenantId 租户id
     * @return 租户资源关系
     */
    List<SysTenantMenu> getResTreeByTenantId(String tenantId);

    /**
     * 设置租户资源权限
     * @param tenant 租户资源权限信息
     */
    void setSysTenantMenu(SysTenant tenant);
}
